#include <iostream>
#include "syrandom.h"
#include <graphics.h>
#include <conio.h>
#include "syvector.h"

int main()
{
	using sy::math::vector2;
	vector2 vec1 = { 0.0, 1.0 };
	vector2 vec2 = { 1.0, 0.0 };

	std::cout << vec1.Add(vec2) << std::endl;
	std::cout << vec1.Sub(vec2) << std::endl;
	std::cout << vec1.Mul(2) << std::endl;
	std::cout << vec1.Div(2) << std::endl;
	std::cout << vector2::Distance(vec1, vec2) << std::endl;
	std::cout << vec1 + vec2 << std::endl;
	std::cout << vec1 - vec2 << std::endl;
	std::cout << vec2 * 3 << std::endl;
	std::cout << 3 * vec2 << std::endl;
	std::cout << vec2 / 3 << std::endl;
	std::cout << vector2::AngleBetween(vec1, vec2) << std::endl;
	std::cout << vector2::Cross(vec1, vec2) << std::endl;
	std::cout << vec1.Cross(vec2) << std::endl;
	std::cout << vector2::Dot(vec1, vec2) << std::endl;
	std::cout << vec1.Dot(vec2) << std::endl;
	std::cout << vector2::Lerp(vec1, vec2, 0.5) << std::endl;
	std::cout << vec1.Cross(vec2) << std::endl;
	std::cout << vec1.Rotate(-45) << std::endl;
	std::cout << vec1.SetMag(2) << std::endl;
	std::cout << vec1.GetMag() << std::endl;
	std::cout << vec1.Limit(1.5) << std::endl;
	std::cout << vec1.Normalize() << std::endl;
	return 0;
}